Increases in technology and consumer desire for increased functionality in electronic systems have generated a need for increasing amounts of memory. As the amount of memory in electronic assemblies grows, however, the costs of the electronic assemblies also increase, with a larger percentage of that cost accountable to that of the additional memory.
Typically, within electronic systems, two types of memory are utilized: volatile memory and non-volatile memory. Volatile memory may include Dynamic Random Access Memory (“DRAM”) or Static Random Access Memory (“SRAM”), while non-volatile memory may include Read Only Memory (“ROM”), flash, One Time Programmable memory (“OTP”), or Electrically Erasable Programmable Read-Only Memory (“EEPROM”).
The decision to store data in volatile or non-volatile memory is generally driven by the characteristics associated with each type of memory. For instance, non-volatile flash memory has the ability to retain data while power is removed from the memory device, but suffers from a slower access speed relative to volatile memory devices. Additionally, in some instances, non-volatile flash memory may have a maximum number of write cycles it may perform prior to experiencing “wear-out.” Wear-out means the device loses or experiences a diminished capacity to store data. Such characteristics make non-volatile memory well suited for storing information and data which is needed for the life of the electronic system, for example, firmware and programs.
Volatile memory, on the other hand, with its more durable and faster write cycles is typically used for buffering incoming I/O data, storing processed data, and implementing the processor stack. Volatile memory, however, may have as much as a 4-to-1 cost per bit increase over non-volatile memory counterparts. Unfortunately, the characteristics of both volatile and non-volatile memory, of which a few are mentioned above, have kept non-volatile memory such as NAND flash memory from becoming a viable alternative to the more expensive volatile memory types.
Increases in non-volatile memory within a device may still provide additional benefits. For example, storage for demonstration pages for various printing devices and storage of device drivers for electronic systems.
Therefore, it is desirable to find a way to add additional memory without adding additional cost or to maintain current memory capacity while reducing cost, in addition to utilizing the additional or current non-volatile memory capacity as an alternative to volatile memory.